package com.hypo.filter;

import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;

import java.io.IOException;

//@WebFilter(urlPatterns = "/*")  //表示拦截所有
public class DemoFilter implements Filter {
    /**
     * Web容器初始化之后执行该方法，方法只执行1次
     * 作用：初始化一些数据
     */
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("init..........");
    }

    /**
     * 请求执行某个方法之前，会对请求进行拦截
     */
    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("doFilter.........");
        //放行-允许访问他要访问的方法
        filterChain.doFilter(servletRequest,servletResponse);
    }

    /**
     * Web容器销毁前会执行的方法，只执行1次
     * 作用：一般用于资源回收
     */
    @Override
    public void destroy() {
        System.out.println("destroy.............");
    }
}
